home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
vol_300
/
323_01
/
tess.doc
< prev
next >
Wrap
Text File
|
1990-08-04
|
7KB
|
169 lines
Beyond The Tesseract - An abstract text adventure - (C) 1990 David Lo Feb/90
This program is free software. If you like this program, hate it, or really
don't care at all, then I would be happy to to hear from you. Please share
unmodified copies of this adventure with everyone you meet.
David Lo
4516 Albert St.
Burnaby, B.C. Canada
V5C 2G5
email c/o: dlo@idacom.cs.ubc.ca
If you wish to distribute a modified version of this program, please keep my
copyright intact, indicate that changes were made in the program and in the
documentation, and list the changes made in the documentation. And if
possible please notify me of the changes, since I would like to keep track of
all the different versions.
Scenario:
---------
You have reached the final part of your mission. You have gained access to
the complex, and all but the last procedure has been performed. Now comes a
time of waiting, in which you must search for the hidden 12-word message that
will aid you at the final step. But what choice will you make when that time
comes?
The scenario for the adventure is meant to be vague. Once the adventure has
been completed, the scenario will hopefully become clear.
Instructions:
-------------
This adventure recognizes the standard commands for moving (N,E,S,W), taking
inventory (I), maninpulating objects (GET, DROP, LOOK), and saving games
(SAVE, LOAD), as well as many others. Use 2-word 'verb noun' commands, such
as 'use stack' or 'get all'. Only the first four letters of each word are
significant. The adventure recognizes about 200 words, so if one word doesn't
work, try another.
Notes:
------
The "stack" is an acroynym for Space Time Activated Continuum Key. You will
find this object very useful. Try the command "use stack".
This adventure is abstract and a bit on the technical side. Basic knowledge
of the names of interesting mathematical objects would be a definite asset in
solving the puzzles. However, detail knowledge of the technical background is
not necessary, although it will make the adventure more enjoyable and reduce
the amount of comments of the form "Was that suppose to be funny or what? I
don't get it"
There is no carry limit, no death traps, and over 200 words in the program's
vocabulary, so you can hopefully concentrate on solving the adventure instead
of solving the program. The map of the adventure can be draw on a grid. All
it takes is a little experimenting to put all the subsets of locations
together "logically".
Compiling Notes:
----------------
There are several source files for the adventure:
ADV-DEF.H : main adventure data types
PARSER.C,H : command parser
TESS-DEF.C,H : adventure world and vocabulary definition
TESS.C : main adventure file
The adventure can be compiled using Turbo C 1.5. This will result in the
adventure using a split-screen format for the display.
Compiling with the "tty" symbol defined (-Dtty) will result in a scrolling,
non-IBM dependent display that should work with most compilers and terminals.
This can be done by uncommenting the line "TTY=-Dtty" in the makefile.
The following are some of the "non-classical" C features used:
enum
functional prototyping
In the function "intro", some compiler may give a warning about the variable
"k" being used before it's defined. This is intentionally done as part of
the routine to reseed the random number generator. The srand() routine
along with the time() could have been used, but they add another 1-2K of code.
History:
-------
Version Date Machine Language # Lines
--------------------------------------------------------------
1.0 Jun. 1983 16K TRS-80 Level II BASIC 350
2.0 Sep. 1988 IBM-XT clone Turbo C 1.5 2500
2.01 Mar. 1989 " "
2.02 Oct. 1989 " "
2.03 Feb. 1990 " "
Tesseract Version 2.0 is my first MS-DOS adventure and an exercise in learning
C. Since this is a direct port of the old BASIC version, it may be smaller
than some other adventures, and some of the coding might not be too clean.
For the C version, appropriate changes were made to the data structures,
additions and small changes made to some of the puzzles, and the ending
expanded. This version was posted to USENET.
Version 2.01 fixed a few bugs, notably the illegal pointer dereferencing
when the probability prompt didn't get a decimal point in the input.
Version 2.02 reworded the probabilty puzzle so that it's more "logical",
and removed the intro screen at the end so that you can quit without leaving
a tell-tale sign of game playing!
Version 2.03 had some minor clean-up done, an extra hint added to the field
puzzle, and the "look" command will finally print out the current room
(relevant only to the tty version). This version was sent to CUG.
The very first adventure that I wrote was in 1982, titled "Hall of the
Mountain King" (find the Crystal of Light). Tesseract Version 1.0 was the
second of the three TRS-80 BASIC adventures that I wrote in a two month
adventure-frenzy during the summer of 1983. The first was "Project Triad"
(defuse the bomb on the space station), and the third was "Codename Intrepid"
(deliver a package to another agent).
References:
-----------
The following books and reference works were used at one time or another
as a source of information and/or inspiration:
The Beauty of Fractals.
Collins Dictionary of Mathematics.
The Fontana Dictionary of Modern Thought.
The Fractal Geometry of Nature.
Godel, Escher, Bach: An Eternal Golden Braid.
The Heritage Illustrated Dictionary Of the English Language.
Mathematics: The New Golden Age.
The New Lexicon Webster's Dictionary, Encyclopedic Edition.
The Penguin Dictionary of Science, Fifth Edition.
Roget's International Thesaurus, Fourth Edition.
The Science of Fractal Images.
The VNR Concise Encyclopedia of Mathematics.
The World of M.C. Escher.
Tesseract:
----------
This is not the usual way you see tesseracts drawn, with two cubes sharing an
edge. But with the limitations of small ASCII characters, this was the best
that I could do.
/*--------------/*
/ ' / '
/ '| / '|
*/----'---------*/ ' |
'| ' | '| ' |
' | ' | ' | ' |
' | ' /*----'--|--'---/*
' | ' / ' ' | ' / '
' |' / ' ' |' / '
' /*/----'---'----/*/ '
' / ' ' ' / ' '
' / '| ' ' / '| '
*/----'----'----*/ ' | '
| ' | ' | ' | '
| ' |' | ' |'
| ' /*-------|--'---/*
| ' / | ' /
|' / |' /
*/--------------*/